package com.open.capacity.task.service;


import com.open.capacity.common.model.SysTask;
import com.open.capacity.common.web.PageResult;
import com.open.capacity.common.web.Result;
import com.open.capacity.task.model.TaskType;
import com.open.capacity.task.model.TreeNode;

import java.util.List;
import java.util.Map;

public interface TaskService {
    Integer findTaskCounts();   //查询任务总数
//    Map<String, String> setInformation(Map<String, String> task);   //设置任务信息

    Result publishTaskOrUpdateTask(SysTask task);

//    Integer updateTask(Map<String,String> sysTask);

    Integer addTaskType(Map<String, String> taskType);

    Map findTaskType(String type);

    Integer addTaskLevel(Map<String, Object> type);

    Map findTaskLevel(String type);

    Integer updateTaskLevel(Map<String, Object> type);

    Integer updateTaskType(Map<String, String> taskType);

    List<SysTask> findTasks(Map<String, Object> conditions);

    TaskType findTaskAreas(Map<String, Object> conditions);

    int findCounts(Map<String, Object> conditions);

    List<TreeNode> findTaskAreaTreeNode(Map<String, Object> params);

    Result delOrRecByTaskId(int taskId);

    PageResult findMyPublishTasks(Map<String, Object> params);

    PageResult findMyPublishTaskAdopt(Map<String, Object> params);

    Result adoptReply(Map<String, Object> params);

    Result endTaskByTaskid(Map<String, Integer> params);

    PageResult findTaskComment(Map<String, Object> params);

    Result getTaskByTaskid(Map<String, Object> params);

    PageResult findMyInterceptTasks(Map<String, Object> params);

    Result onlineReply(Map<String, Object> params);

    Result updateOnlineReply(Map<String,Object> params);

    SysTask findTaskReply(SysTask sysTask);
}
